package org.wesc.boot.dao.querymapper;

import org.springframework.stereotype.Repository;
import org.wesc.boot.dao.entity.Menu;

import java.util.List;

/**
 * @author Wesley Cheung
 * @date 2019/7/28 1:01
 */
@Repository
public interface MenuQueryMapper {

    /**
     * 查询用户菜单树的所需权限
     * @param userName 用户名
     * @return 该用户所有的菜单权限
     */
    List<Menu> findUserMenuPerms(String userName);

    /**
     * 查询用户菜单，用于构建菜单树
     * @param userName 用户名
     * @return 该用户所有的菜单项
     */
    List<Menu> findUserMenus(String userName);

    /**
     * 查找当前菜单/按钮关联的用户 ID
     * @param menuId menuId
     * @return 用户 ID集合
     */
    List<Long> findUserIdsByMenuId(long menuId);

    /**
     * 根据菜单ID查询直属菜单或按钮
     * @param menuId menuId
     * @return 子菜单
     */
    List<Menu> findChildrenMenus(long menuId);
}
